home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / net / TelnetOutputStream.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  673 b   |  71 lines

  1. package sun.net;
  2.  
  3. import java.io.BufferedOutputStream;
  4. import java.io.IOException;
  5. import java.io.OutputStream;
  6.  
  7. public class TelnetOutputStream extends BufferedOutputStream {
  8.    boolean stickyCRLF = false;
  9.    boolean seenCR = false;
  10.    public boolean binaryMode = false;
  11.  
  12.    public TelnetOutputStream(OutputStream var1, boolean var2) {
  13.       super(var1);
  14.       this.binaryMode = var2;
  15.    }
  16.  
  17.    public void setStickyCRLF(boolean var1) {
  18.       this.stickyCRLF = var1;
  19.    }
  20.  
  21.    public void write(int var1) throws IOException {
  22.       if (this.binaryMode) {
  23.          super.write(var1);
  24.       } else {
  25.          if (this.seenCR) {
  26.             if (var1 != 10) {
  27.                super.write(0);
  28.             }
  29.  
  30.             super.write(var1);
  31.             if (var1 != 13) {
  32.                this.seenCR = false;
  33.             }
  34.          } else {
  35.             if (var1 == 10) {
  36.                super.write(13);
  37.                super.write(10);
  38.                return;
  39.             }
  40.  
  41.             if (var1 == 13) {
  42.                if (this.stickyCRLF) {
  43.                   this.seenCR = true;
  44.                } else {
  45.                   super.write(13);
  46.                   var1 = 0;
  47.                }
  48.             }
  49.  
  50.             super.write(var1);
  51.          }
  52.  
  53.       }
  54.    }
  55.  
  56.    public void write(byte[] var1, int var2, int var3) throws IOException {
  57.       if (this.binaryMode) {
  58.          super.write(var1, var2, var3);
  59.       } else {
  60.          while(true) {
  61.             --var3;
  62.             if (var3 < 0) {
  63.                return;
  64.             }
  65.  
  66.             this.write(var1[var2++]);
  67.          }
  68.       }
  69.    }
  70. }
  71.